Loading...
 

Implementacja w MATLABie generacji funkcji bazowych na podstawie wektora węzłów

W module tym prezentujemy kod w MATLABie obliczający i rysujący funkcje bazowe B-spline na podstawie zadanego wektora węzłów.
Możliwym alternatywnym darmowym środowiskiem do uruchomienia kodu jest Octave(external link).

Po zainstalowaniu Octave otwieramy plik (pobierz kod(external link) lub zob. Załącznik 2 ).
Uruchomienie kodu rozpoczyna się od procedury spline(), która ustawia przykładowy wektor węzłów knot_vector=[1,1,1,2,3,3,4,5,6,7,7,7],
następnie oblicza liczbę funkcji bazowych używając procedury compute_nr_basis_functions(), oblicza stopień funkcji bazowych (jednorodny dla całego wektora węzłów) używając procedury compute_p, oraz wektor punktów x, w których policzone zostaną funkcje bazowe używając procedury mesh().

Kod generuje wartości funkcji bazowych w tych punktach, używając procedury compute_spline() i następnie rysuje funkcje używając w pętli komendy plot.
Możliwa jest modyfikacja wektora węzłów w celu generacji różnych baz.

Treść zadania:
Proszę wygenerować wektor węzłów generujący bazę równoważną bazie Lagrange'a wielomianów pierwszego stopnia na dwóch elementach [0,1] i [1,2]. Proszę uruchomić kod MATLABa i narysować funkcje bazowe.
Treść zadania:
Proszę wygenerować wektor węzłów generujący bazę równoważną bazie Lagrange'a wielomianów czwartego stopnia na pięciu elementach [0,1] i [1,2] i [2,3] i [3,4] i [4,5]. Proszę uruchomić kod MATLABa i narysować funkcje bazowe.
Treść zadania:
Proszę wygenerować wektor węzłów generujący bazę wielomianów B-spline trzeciego stopnia o ciągłości C2 rozpiętą na trzech elementach [0,0.1] i [0.1,0.9] i [0.9 1]. Proszę uruchomić kod MATLABa i narysować funkcje bazowe.

Zadanie 4: Wielomiany B-spline trzeciego stopnia o ciągłości C1

Treść zadania:
Proszę wygenerować wektor węzłów generujący bazę wielomianów B-spline trzeciego stopnia o ciągłości C1 rozpiętą na czterech elementach [0,1] i [1,2] i [2,3] i [3,4]. Proszę uruchomić kod MATLABa i narysować funkcje bazowe.

Zadanie 5: Dwuwymiarowe wielomiany B-spline

Treść zadania:
Proszę zmodyfikować kod, tak żeby rysował dwuwymiarowe B-spline'y na obszarze wynikającym z iloczynu tensorowego dwóch wektorów węzłów. Proszę użyć funkcji meshgrid or surf MATLABa. Proszę uruchomić kod MATLABa dla wektorów węzłów [0 0 0 0 1 2 3 4 4 4 4 ] x [0 0 1 2 3 4 4] i narysować funkcje bazowe.

Ostatnio zmieniona Piątek 08 z Lipiec, 2022 06:58:43 UTC Autor: Maciej Paszynski
Zaloguj się/Zarejestruj w OPEN AGH e-podręczniki
Czy masz już hasło?

Hasło powinno mieć przynajmniej 8 znaków, litery i cyfry oraz co najmniej jeden znak specjalny.

Przypominanie hasła

Wprowadź swój adres e-mail, abyśmy mogli przesłać Ci informację o nowym haśle.
Dziękujemy za rejestrację!
Na wskazany w rejestracji adres został wysłany e-mail z linkiem aktywacyjnym.
Wprowadzone hasło/login są błędne.